Allow invocation of annotation Processor's getCompletions even if process fails. #6956
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Writing code along these lines:
Code completion invoked at the place
|
does not contain options likeRunnable
. The reason is that theServiceProviderProcessor.process
will fail (due to the incomplete code), and thenAPTUtils.ErrorToleratingProcessor
ignores even thegetCompletions
invocation.The proposal is to split the
valid
flag inAPTUtils.ErrorToleratingProcessor
into two: one will be set ifinit
fails, and this will block all the methods of the target processor, and one will be set whenprocess
fails, and that will only block theprocess
method. As long asinit
passes, thegetCompletions
method may still be able to produce meaningful results, I think.